package com.mqy.springmvc.controller;

import com.mqy.springmvc.exception.MyBaseException;
import com.mqy.springmvc.pojo.User;
import org.springframework.util.Assert;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.Date;

/**
 * @author 13159 //作者
 * @version V1.0 //版本
 * @Project 2022.3.8MVCxiaojie
 * @Package com.mqy.springmvc.controller
 * @Description:
 * @Date 2022/3/8 17:53//日期
 * @Motto:放下杂念,只为迎接明天更好的自己
 */


/*@RestController是
@ResponseBody(作用其实是将java对象转为json格式的数据。)
和
@Controller
的合体
* */
@RestController
@RequestMapping("/test")
public class TestController {

    @RequestMapping("/test1")
    public String test1(@RequestBody User user) {
        System.err.println("收到的数据是---->" + user);
        return "success    TestControllerd d tset1";
    }

    @RequestMapping("/test2")
    public User test2() {
        User user = new User();
        user.setUserName("zhangxx");
        user.setAge(18);
        user.setPassword("111");
        user.setBirthday(new Date());

        return user;
    }

    @RequestMapping("/test3")
    public String test3(String name) {
        if (name == null || "".equals(name)) {
            throw new MyBaseException("null----TestController中的方法test3", -1);
        }
        System.out.println("TestController中的方法test3执行了");
        return "TestController中的方法test3";
    }

    @RequestMapping("/test4")
    public String test4(String address) {
        /*断言,我肯定是true,否则就走后面那段*/
        Assert.hasLength(address,()->{
            throw new MyBaseException("null----TestController中的方法test4", -1);
        });
        System.out.println("TestController中的方法test4执行了");
        return "TestController中的方法test4";
    }


}
